package com.kxmall.huishou.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.kxmall.common.annotation.ExcelDictFormat;
import com.kxmall.common.convert.ExcelDictConvert;
import lombok.Data;

import javax.validation.constraints.NotNull;


/**
 * 回收预约订单信息视图对象 hs_appointment_order
 *
 * @author kxmall
 * @date 2023-11-23
 */
@Data
@ExcelIgnoreUnannotated
public class HsAppointmentOrderVo {

    private static final long serialVersionUID = 1L;

    /**
     * 
     */
    @ExcelProperty(value = "")
    private Long id;

    /**
     * 订单编号
     */
    @ExcelProperty(value = "订单编号")
    private String orderNo;

    /**
     * 用户id
     */
    @ExcelProperty(value = "用户id")
    private Long userId;

    /**
     * 联系人
     */
    @ExcelProperty(value = "联系人")
    private String contactor;

    /**
     * 联系电话
     */
    @ExcelProperty(value = "联系电话")
    private String phone;

    /**
     * 省
     */
    @ExcelProperty(value = "省")
    private String province;

    /**
     * 市
     */
    @ExcelProperty(value = "市")
    private String city;

    /**
     * 区
     */
    @ExcelProperty(value = "区")
    private String county;

    /**
     * 详细地址
     */
    @ExcelProperty(value = "详细地址")
    private String address;

    /**
     * 经度
     */
    @ExcelProperty(value = "经度")
    private BigDecimal longitude;

    /**
     * 纬度
     */
    @ExcelProperty(value = "纬度")
    private BigDecimal latitude;

    /**
     * 预约开始时间
     */
    @ExcelProperty(value = "预约开始时间")
    private Date startTime;

    /**
     * 预约结束时间
     */
    @ExcelProperty(value = "预约结束时间")
    private Date endTime;

    /**
     * 预计总重量
     */
    @ExcelProperty(value = "预计总重量")
    private BigDecimal expectWeightTal;

    /**
     * 预计总金额
     */
    @ExcelProperty(value = "预计总金额")
    private BigDecimal expectAmountTal;

    /**
     * 回收员id
     */
    @ExcelProperty(value = "回收员id")
    private Long riderId;

    /**
     * 接单时间
     */
    @ExcelProperty(value = "接单时间")
    private Date takingTime;

    /**
     * 到达时间
     */
    @ExcelProperty(value = "到达时间")
    private Date arriveTime;

    /**
     * 完成时间
     */
    @ExcelProperty(value = "完成时间")
    private Date completeTime;


    @ExcelProperty(value = "0无回收员结算信息，1有回收员结算信息")
    private Integer statusSettlement;

    /**
     * 0待接单，1用户取消，2已接单，待服务，3转单中，4服务中，5成功，待评价，6成功，已评价，7服务失败，待评价，8服务失败，已评价，9超时
     */
    @ExcelProperty(value = "0待接单，1用户取消，2已接单，待服务，3转单中，4服务中，5成功，待评价，6成功，已评价，7服务失败，待评价，8服务失败，已评价")
    private Long status;

    @ExcelProperty(value = "创建时间")
    private Date createTime;

    @ExcelProperty(value = "更新时间")
    private Date updateTime;

    private String timeStr;
    /**
     * 是否已删除 默认0
     */
    @TableLogic(value = "0",delval = "1")
    private Integer isDel;

    private List<HsUserWasteVo> hsUserWasteVoList;


}
